home *** CD-ROM | disk | FTP | other *** search
- // Fireworks Dreamweaver 3.0 Metafile HTML & JavaScript.
- // Version 3.0 09SEP99
-
- // Note - we never write comments or header info to the metafile. jba.
-
- // Declare variables for processing Behaviors.
- var kActionStatusMessage = 1;
- var kActionSwapImage = 2;
- var kActionButtonDown = 4;
- var kActionSwapImageRestore = 5;
- var kActionButtonHighlight = 6;
- var kActionButtonRestore = 7;
-
- var kEventMouseOver = 0;
- var kEventOnClick = 1;
- var kEventMouseOut = 2;
- var kEventOnLoad = 3;
-
- var hasStatusMessage = false;
- var hasSwap = false;
- var hasDown = false;
- var hasRestore = false;
-
-
-
- // Function cellName determines the name for the image in a particular table cel
- // cellName is based off of the slice name if one was specified. Otherwise the
- // Base file name from the export dialog is used.
- function CellName(curSlices, row, col) {
- var curSlice = curSlices[row][col];
- var cellName = "";
- if (curSlice && curSlice.getFrameFileName(0)) {
- cellName = curSlice.getFrameFileName(0).toString();
- curSlice.setFrameFileName(0, cellName);
- // remove illegal characters
- cellName = cellName.replace(/\W/g, "");
- // if it starts with a number, add N to the front.
- if (cellName == "") cellName = "n" + exportDoc.imagename + "_" + (row+1) + "_" + (col+1);
- if (cellName.search(/\d/) == 0) {
- cellName = "n"+cellName;
- }
- }
- if (cellName!="") return(cellName);
-
- var prefix;
- if (!curSlices) return("nullCellName");
- if (curSlices.id == 0) {
- prefix = "";
- } else {
- prefix = curSlices.id+"_";
- }
- var suffix="";
- if (curSlices.numRows > 1 || curSlices.numColumns > 1) {
- suffix = "_" + (row+1) + "_" + (col+1);
- }
- cellName = "n" + prefix + exportDoc.imagename + suffix;
- return(cellName);
- }
-
- // Determine and process Behaviors in the document.
- function ProcessEvent(theCurBehaviors, targetEvent) {
- // Declare variable for processing Behaviors.
- var javaScript = "";
- var stat = false;
- var eraseStatOnMouseOut = false;
- var swapImage = "";
- var nbHighlight = "";
- var nbHighlightPreload = false;
- var nbDown = "";
- var nbDownPreload = false;
- var swap = "";
- var swapRestore = false;
- var buttonRestore = false;
-
- // Translate Behaviors into JavaScript.
- for (var i=0; i<theCurBehaviors.numberOfBehaviors; i++) {
- curBehavior = theCurBehaviors[i];
-
- if (curBehavior.ignoreFlag) continue;
- // Check for erase on mouse out status messages.
- if (curBehavior.action == kActionStatusMessage) {
- if (curBehavior.restoreOnMouseout) eraseStatOnMouseOut=true;
- }
-
- if (curBehavior.event != targetEvent) continue;
-
- if (curBehavior.action == kActionStatusMessage) {
- var statMsg = curBehavior.statusText;
- var curStat = "";
- curStat = "MM_displayStatusMsg('" + statMsg + "');";
- javaScript += curStat;
- stat = true;
- continue;
- }
- if (curBehavior.action == kActionSwapImageRestore) {
- swapRestore = true;
- continue;
- }
-
- if (curBehavior.action == kActionButtonRestore) {
- buttonRestore = true;
- continue;
- }
-
- var swapRow = curBehavior.targetRowNum;
- var swapCol = curBehavior.targetColumnNum;
- var swapFrame = curBehavior.targetFrameNum;
- var swapTable = curBehavior.targetTable;
- var fileName;
- if (!swapTable) {
- /* Not a swap behavior, so continue. */
- continue;
- }
-
- if (curBehavior.hasHref) {
- fileName = curBehavior.href;
- } else {
- fileName = swapTable.imagesDirPath + swapTable[swapRow][swapCol].getFrameFileName(swapFrame) + swapTable[swapRow][swapCol].imageSuffix;
- }
-
-
- var cellName = CellName(swapTable, swapRow,swapCol);
-
- // Translate button Behaviors into JavaScript.
- if (curBehavior.action == kActionButtonDown) {
- //MM_nbGroup(event, groupName, imgName, downSrc...preloadMarker)
- nbDown += "'" + cellName + "','" + fileName + "',";
- if (curBehavior.preload) nbDownPreload = true;
- continue;
- }
- // Translate button Behaviors into JavaScript.
- if (curBehavior.action == kActionButtonHighlight) {
- var highlightName = "";
- if (curBehavior.downHighlight) {
- if (curBehavior.hasDhHref) {
- highlightName = curBehavior.dhHref;
- } else {
- var f = curBehavior.dhTargetFrameNum;
- highlightName = swapTable.imagesDirPath + swapTable[swapRow][swapCol].getFrameFileName(f) + swapTable[swapRow][swapCol].imageSuffix
- }
- }
- nbHighlight += "'" + cellName + "','" + fileName + "','" + highlightName +"',";
- if (curBehavior.preload) nbHighlightPreload = true;
- continue;
- }
- // Translate Swap Image Behaviors into JavaScript.
- if (curBehavior.action == kActionSwapImage) {
- swap += "'" +cellName +"','','" + fileName + "',";
- continue;
- }
- }
- if (nbDown != "") {
- if (targetEvent == kEventOnLoad) {
- javaScript += "MM_nbSetInitDown('navbar1'," + nbDown
- } else {
- javaScript += "MM_nbGroup('down','navbar1'," + nbDown
- }
- if (nbDownPreload) {
- javaScript += "1);";
- } else {
- javaScript += "0);";
- }
- }
- if (nbHighlight != "") {
- javaScript += "MM_nbGroup('over'," + nbHighlight
- if (nbHighlightPreload) {
- javaScript += "1);";
- } else {
- javaScript += "0);";
- }
- }
- if (swap != "") {
- javaScript += "MM_swapImage(" + swap + "1);";
- }
- if (swapRestore) {
- javaScript += "MM_swapImgRestore();";
- }
- if (buttonRestore) {
- javaScript += "MM_nbGroup('out');";
- }
- // Erase status bar message onMouseOut.
- if (eraseStatOnMouseOut && targetEvent == kEventMouseOut) {
- javaScript += "MM_displayStatusMsg(' ');" ;
- stat = true;
- }
-
- if (stat) javaScript += "return document.MM_returnValue";
- return(javaScript);
- }
-
-
- // Determine and process Behaviors in the document.
- function ProcessBehavior(theCurBehaviors) {
-
- javaOver = ProcessEvent(theCurBehaviors, kEventMouseOver);
- javaOut = ProcessEvent(theCurBehaviors, kEventMouseOut);
- javaClick = ProcessEvent(theCurBehaviors, kEventOnClick);
- if (javaOver != "" || javaOut != "" || javaClick != "") {
- return(true);
- }
- return(false);
- }
-
-
- var curCol = 0;
- var curRow = 0;
- curCol = exportDoc.startColumn;
- curRow = exportDoc.startRow;
-
- var curSlice = slices[curRow][curCol];
-
- // Write link if slice has URL attached.
- var href = "href=\"#\"";
- var hasHref = curSlice.hasHref;
- var abortHref = false;
- if (curSlice.hasHref) {
- href = "href=\"";
- href += curSlice.href;
- href += "\"";
- if (curSlice.hasTargetText) {
- href += " target=\"";
- href += curSlice.targetText;
- href += "\"";
- }
- }
-
- var cellName = CellName(slices, curRow, curCol);
- var anchorTagOpen = false;
-
- // If the slice has image map hotspots and has a url attached to it,
- // ignore the url here and move it into the image map.
- if (curSlice.hasImage && curSlice.hasImagemap) {
- abortHref = true; // we will put the href in the imagemaps.
- }
-
- // Write rollover and swap image events.
- if (!abortHref) {
- var behaviors = curSlice.behaviors;
- var gotJavascript = ProcessBehavior(behaviors);
-
- if ( gotJavascript || curSlice.hasHref) {
- WRITE_HTML("<a ");
- anchorTagOpen = true;
- WRITE_HTML(href);
-
- if (javaOut != "") {
- WRITE_HTML(" onMouseOut=\"", javaOut, "\" ");
- }
- if (javaOver != "") {
- WRITE_HTML(" onMouseOver=\"", javaOver, "\" ");
- }
- if (javaClick != "") {
- WRITE_HTML(" onClick=\"", javaClick, "\" ");
- }
- WRITE_HTML(">");
- }
- }
-
- // Place image.
- if (curSlice.hasImage) {
- var imageName = curSlice.getFrameFileName(0);
- var altText = "";
- if (curSlice.hasAltText) {
- altText = curSlice.altText;
- } else {
- altText = exportDoc.altText;
- }
-
- // Assemble info for image tag.
- // Ex: <img name="n_03_02" src="File_03_02.gif" width="79" height="71" border="0"
- WRITE_HTML("<img name=\"", cellName, "\" src=\"",
- slices.imagesDirPath, imageName, curSlice.imageSuffix, "\" width=\"",
- curSlice.width,"\" height=\"", curSlice.height, "\" border=\"0\"");
-
- // Write image map name.
- // Ex: usemap="#base_r1_c2"
- if (curSlice.hasImagemap) {
- WRITE_HTML(" usemap=\"#", imageName, "\"");
- }
-
- // Write alt text.
- if (altText != "") {
- WRITE_HTML(" alt=\"", altText, "\"");
- }
- WRITE_HTML(">");
- }
-
- if (anchorTagOpen) {
- WRITE_HTML("</a>");
- }
- if (curSlice.hasImagemap) {
-
- // Write the image map.
- WRITE_HTML("<map name=\"", curSlice.getFrameFileName(0), "\">\n");
-
- var i = 0;
- var imagemap = curSlice.imagemap;
- while (i < imagemap.numberOfURLs) {
- var curImagemap = imagemap[i];
-
- var behaviors = curImagemap.behaviors;
-
- if (behaviors.numberOfBehaviors==0) {
- var behaviors = curSlice.behaviors;
- }
- javaOver = "";
- javaOut = "";
- javaClick = "";
- var gotJavascript = ProcessBehavior(behaviors);
-
- // Write the area tag with shape definitions.
- WRITE_HTML("<area shape=\"");
- WRITE_HTML(curImagemap.shape); // Shapes are rect poly and circle
- WRITE_HTML("\" coords=\"");
- for (var j=0; j<curImagemap.numCoords; j++) {
- if (j>0) WRITE_HTML(",");
- // polygon has n coords.
- // rect has 2 coords, topLeft, and botomRight.
- // circle has one coord, center; plus radius.
- WRITE_HTML((curImagemap.xCoord(j)-curSlice.left), ",", (curImagemap.yCoord(j)-curSlice.top));
- }
- if (curImagemap.shape == "circle") {
- // Write the radius for circle hotspots.
- WRITE_HTML(", ", curImagemap.radius);
- }
- WRITE_HTML("\"");
- var href = " href=\"#\"";
- if (curImagemap.hasHref) {
- href = " href=\"";
- href += curImagemap.href;
- href += "\"";
- if (curImagemap.hasTargetText) {
- href += " target=\"";
- href += curImagemap.targetText;
- href += "\"";
- }
- }
-
- WRITE_HTML(href);
-
- // Write alt text for hotspot.
- var altText = "";
- if (curImagemap.hasAltText) {
- altText = curImagemap.altText;
- } else {
- altText = exportDoc.altText;
- }
-
- if (altText!="") {
- WRITE_HTML(" title=\"", altText, "\"");
- WRITE_HTML(" alt=\"", altText, "\"");
- }
-
- // Write rollover and swap image behaviors.
- if (javaOut != "") {
- WRITE_HTML(" onMouseOut=\"", javaOut, "\" ");
- }
- if (javaOver != "") {
- WRITE_HTML(" onMouseOver=\"", javaOver, "\" ");
- }
- if (javaClick != "") {
- WRITE_HTML(" onClick=\"", javaClick, "\" ");
- }
-
- WRITE_HTML(" >\n");
- i++;
- }
- var behaviors = slices[curRow][curCol].behaviors;
- javaOver = "";
- javaOut = "";
- javaClick = "";
- var gotJavascript = ProcessBehavior(behaviors);
-
- // If the current slice had a URL attached, it was moved and written here.
- if (gotJavascript || curSlice.hasHref) {
- WRITE_HTML("<area shape=\"rect\" coords=\"0,0, ", curSlice.width, ",", curSlice.height, "\" ");
- var href="#";
- if (curSlice.hasHref) {
- href = curSlice.href;
- }
- WRITE_HTML("href=\"", href, "\"");
-
- if (curSlice.hasTargetText) {
- WRITE_HTML("\n target=\"", slices[curRow][curCol].targetText, "\"");
- }
- if (javaOut != "") {
- WRITE_HTML(" onMouseOut=\"", javaOut, "\" ");
- }
- if (javaOver != "") {
- WRITE_HTML(" onMouseOver=\"", javaOver, "\" ");
- }
- if (javaClick != "") {
- WRITE_HTML(" onClick=\"", javaClick, "\" ");
- }
- var altText = "";
- if (curSlice.hasAltText) {
- altText = curSlice.altText;
- } else {
- altText = exportDoc.altText;
- }
- if (altText!="") {
- WRITE_HTML(" title=\"", altText, "\"");
- WRITE_HTML(" alt=\"", altText, "\"");
- }
- WRITE_HTML(">\n");
- }
-
- WRITE_HTML("</map>\n")
- }
-